unit untListagemProduto;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, untListagemPadrao, StdCtrls, Buttons, ExtCtrls, DB, Grids,
  DBGrids;

type
  TfrmListagemProduto = class(TfrmListagemPadrao)
    procedure btnIncluirClick(Sender: TObject);
    procedure btnAlterarClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btnExcluirClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmListagemProduto: TfrmListagemProduto;

implementation

uses UntDm, untCadPadrao, untCadProduto;

{$R *.dfm}

procedure TfrmListagemProduto.btnIncluirClick(Sender: TObject);
begin
  inherited;
  frmCadProduto.Tag := 1;
  frmCadProduto.ShowModal;
end;

procedure TfrmListagemProduto.btnAlterarClick(Sender: TObject);
begin
  inherited;
  frmCadProduto.Tag := 2;
  frmCadProduto.ShowModal;
end;

procedure TfrmListagemProduto.FormShow(Sender: TObject);
begin
  inherited;
  DM.CDSProduto.Close;
  DM.CDSProduto.Open;
  DM.CDSGrupo.Open;
  DM.CDSMarca.Open;
  DM.CDSFornecedor.Open;
end;

procedure TfrmListagemProduto.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  DM.CDSProduto.Close;
  DM.CDSGrupo.Close;
  DM.CDSMarca.Close;
  DM.CDSFornecedor.Close;
end;

procedure TfrmListagemProduto.btnExcluirClick(Sender: TObject);
begin
  inherited;
  // -----efetua a exclusao do registro ----------------
  if DM.CDSProduto.RecordCount = 0 then
    Exit;
  try
    if MessageDlg('Deseja Excluir o Produto selecionado?', mtConfirmation, [mbYes,mbNo],0) = mrYes then
    begin
      DM.SDSComando.CommandText := 'DELETE FROM "Produto" WHERE cod_pro = :cod_pro';
      DM.SDSComando.Params.ParamByName('cod_pro').AsInteger := DM.CDSProduto.FieldByName('cod_pro').AsInteger;
      DM.SDSComando.ExecSQL();
    end;
  except
    if MessageDlg('Impossivel Excluir o Produto', mtError, [mbOK],0) = mrOK then
      Exit;
  end;

  DM.CDSProduto.Refresh;
  
end;

end.
